U┐yte w dowolnej klauzuli FROM, │╣cz╣ (scalaj╣) rekordy z tabel ƒr≤d│owych.
FROM tabela_1 [ LEFT | RIGHT ] JOIN tabela_2
ON tabela_1.pole_1 op_por tabela_2.pole_2
Sk│adnia operacji LEFT JOIN i RIGHT JOIN zawiera nastΩpuj╣ce elementy:
Element | Opis |
---|---|
tabela_1, tabela_2 | Nazwy tabel, kt≤rych rekordy s╣ │╣czone (scalane). |
pole_1, pole_2 | Nazwy p≤l sprzΩgaj╣cych. Pola musz╣ byµ tego samego typu danych i zawieraµ ten sam rodzaj danych, ale nie musz╣ mieµ tych samych nazw. |
op_por | Dowolny operator por≤wnania: "=", "<", ">", "<=", ">=" lub "<>". |
Operacja LEFT JOIN s│u┐y do tworzenia sprzΩ┐enia zewnΩtrznego lewostronnego. SprzΩ┐enia zewnΩtrzne lewostronne w│╣czaj╣ wszystkie rekordy z pierwszej (lewej) z dw≤ch tabel, nawet je£li w rekordach z drugiej (prawej) tabeli nie istniej╣ odpowiadaj╣ce im warto£ci.
Operacja RIGHT JOIN s│u┐y do tworzenia sprzΩ┐enia zewnΩtrznego prawostronnego. SprzΩ┐enia zewnΩtrzne prawostronne w│╣czaj╣ wszystkie rekordy z drugiej (prawej) z dw≤ch tabel, nawet je£li w rekordach pierwszej (lewej) tabeli nie istniej╣ odpowiadaj╣ce im warto£ci.
Na przyk│ad, do wybrania wszystkich wydzia│≤w, tak┐e tych, do kt≤rych nie s╣ przypisani pracownicy, nale┐y u┐yµ operacji sprzΩ┐enia lewostronnego (operator LEFT JOIN) z tabel╣ Wydzia│y (lewa) i tabel╣ Pracownicy (prawa). Aby wybraµ wszystkich pracownik≤w, w│╣czaj╣c tych nie przydzielonych do wydzia│≤w, nale┐y u┐yµ operacji RIGHT JOIN.
W poni┐szym przyk│adzie pokazano, jak mo┐na dokonaµ sprzΩ┐enia tabel Kategorie i Produkty wed│ug pola NrKategoria. Kwerenda daje w wyniku listΩ wszystkich kategorii, w tym r≤wnie┐ nie zawieraj╣cych ┐adnego produktu.
SELECT NazwaKategorii,
NazwaProduktu
FROM Kategorie LEFT JOIN Produkty
ON Kategorie.NrKategorii = Produkty.NrKategorii;
W tym przyk│adzie, NrKategorii jest polem sprzΩ┐onym, ale nie jest uwzglΩdnione w wyniku kwerendy, poniewa┐ nie jest zawarte w instrukcji SELECT. Aby do│╣czyµ pole sprzΩ┐one, nale┐y w instrukcji SELECT dodaµ nazwΩ pola ù w tym przypadku Kategorie.NrKategorii.
Uwagi
Aby utworzyµ kwerendΩ zawieraj╣c╣ wy│╣cznie rekordy, w kt≤rych dane w polach sprzΩ┐onych s╣ takie same, nale┐y u┐yµ operacji INNER JOIN.
Podczas pr≤by sprzΩgania p≤l zawieraj╣cych dane typu Memo lub obiekt OLE wystΩpuje b│╣d.
FROM û klauzula (Microsoft Jet SQL) | UNION û operacja (Microsoft Jet SQL) |
INNER JOIN û operacja (Microsoft Jet SQL) |
LEFT JOIN, RIGHT JOIN û przyk│ad operacji